In a large computer operating system, many batch jobs are executed. A batch job is a set of jobs to be executed every predetermined period of time, such as sales calculation processing for one day. Typically, a certain amount of a data set is processed by a program or a script. Order relationships in various forms exist between batch job, and the batch jobs may often interlock with each other. An example of the order relationship is that the end of order confirmation processing is to be followed by the start of the sales calculation processing. Another example may be that when a batch job A outputs a file C, a batch job B waiting for it starts processing on the file C.
However, the order relationship between batch jobs may not easily be recognized. For example, when a batch job B is started in accordance with a message output from a program for a batch job A, analyzing the program may be desirable to identify the order relationship. This may not be realized in fact. In recent years, companies have been frequently merged, and a plurality of systems is merged with them. If the developers and operators are located in different places, requested batch-order-relationship definition information may not be easily accessed.
The “Punctuality” is desirable for executing a batch job. In other words, a batch job may often be executed during night to prevent influences on normal service processing. However, for example, for the service start at nine in the morning, a batch job may be finished before five in the morning. Therefore, if the completion of a batch job before a predetermined time may be desirable, the notification of the fact may be desirable as early as possible. This is for addressing the problem by, for example, postponing a batch job which may be executed on the next day. In other words, once a predetermined deadline is violated, the time for executing the batch job is desirable to adjust since it is too late.
Accordingly, there has been provided a technology of estimating a delay of a desirable job in the future through automatic monitoring of jobs, for real-time higher punctuality and efficiency of monitoring and operations in an entire system. More specifically, start/finish time information of one job are extracted from its history information, and predetermined warning information is transmitted on the basis of the difference between the start/finish time and the current time of the job in a monitoring schedule. However, since the technology does not implement processing of correctly extracting the order relationship between jobs, the job finish time may not be estimated with high accuracy in accordance with the execution condition. It may be desirable for the technology to handle parallel processing under a dependent relationship in which when a batch job A outputs a file C, a waiting batch job B starts processing on the file C.
There has been provided another technology of extracting general processing order pattern of services from history information on service processing executed by a human being. However, the order of service processing by a human being acquired may not be used for analysis of a processing order pattern of batch jobs. It is desirable for the technology to handle a case unique to batch jobs as described above, that is, the case that when a batch job A outputs a file C, a waiting batch job B starts processing on the file C.
There has been provided another technology for improving the accuracy of the estimation of the execution end times of jobs even when loads on computers vary in an information processing system being capable of executing a plurality of jobs. More specifically, first of all, during parallel execution of a plurality of jobs, information on the throughputs of the jobs is collected. Next, on the basis of the collected information (including a list of priority jobs to be finished first), the estimated execution finish time of each of the jobs is calculated. From the estimated execution finish times calculated for the jobs, the desired execution finish times of the jobs are calculated. However, this technology calculates the progress rate of a single job from the state of use of a resource and estimates the finish time of the single job from it. Since this technology may only grasp a simple relationship between jobs, accurate estimation of the finish times is desirable.